﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;
using System.Windows.Media;
using JasRibbonApplicatie.Model;

namespace JasRibbonApplicatie.Converters
{
    public class TimeFromMagazijnierIdConverter : IMultiValueConverter
    {
        /* methode krijgt array van objects (Magazijnier, Date) binnen.
         * methode returns null als geen magazijnier gevonden voor die dag
         * uur als string als er een magazijnier is gevonden voor die dag
         */
        private static GebruikerModel gm = new GebruikerModel();
        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            DateTime date;
            int magazijnier_id;

            try
            {
                date = DateTime.Parse(values[1].ToString());
                magazijnier_id = ((Magazijnier)values[0]).magazijnier_id;
            }
            catch (Exception ex)
            {
                Console.WriteLine("TimeFromMagazijnierIdConverter.cs Convert exeption:" + ex.ToString());
                return null;
            }

            if (date != null && magazijnier_id != 0)
            {
                List<PlanningMagazijnier> planningen = gm.GetPlanningMagazijnierByMagazijnierIdAndDate(magazijnier_id, date);
                if (planningen.Count > 0)
                {
                    PlanningMagazijnier planning = planningen.First();
                    return planning.datum.Hour.ToString("00") + 'u' + planning.datum.Minute.ToString("00");
                }
            }
            return null;
        }


        // convert back niet mogelijk!!! && niet nodig
        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

    }
}
